Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 简单的URL修改_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache 简单的URL修改

Apache 简单的URL修改,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,调用此URL时,为什么下面的htaccess文件会生成300个错误 网址:hxxp://subdomain.domainame.com/keyworda/ IndexIgnore * RewriteEngine on RewriteRule ^([a-z]+)/$ /index.php?p=$1 错误日志:300hxxp://subdomain.domainame.com/keyworda (无尾随斜杠)您能试试这个吗: RewriteRule ^([^/]+)/?$ /index.ph

调用此URL时,为什么下面的htaccess文件会生成300个错误


网址:hxxp://subdomain.domainame.com/keyworda/

IndexIgnore *

RewriteEngine on
RewriteRule ^([a-z]+)/$ /index.php?p=$1

错误日志:300hxxp://subdomain.domainame.com/keyworda (无尾随斜杠)

您能试试这个吗:

RewriteRule ^([^/]+)/?$ /index.php?p=$1
你能试试这个吗

RewriteRule ^([^/]+)/?$ /index.php?p=$1

编辑,我试图保持我的答案简短,我不是想让你准确地添加这一行。这只是为了显示丢失的斜杠应该放在哪里

RewriteRule ^/([a-z]+)/$ /index.php?p=
我假设您正在ApacheConfig目录中编辑一个.conf文件。Chigley的答案是假设您正在编辑每个目录的.htaccess配置文件

编辑您的conf文件,如下所示:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_METHOD} ^TRACE
  RewriteRule .* - [F]
  RewriteRule ^/(test[a-z]+)/$ /index.php?id=$1 [L,R=301]
  ... your current stuff afterwords ...
</IfModule>
# httpd -v
Server version: Apache/1.3.33 (Darwin)
Server built:   Mar 20 2005 15:08:27
如果不起作用,请编辑您的问题,将完整代码包含在 块和您的httpd版本,如下所示:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_METHOD} ^TRACE
  RewriteRule .* - [F]
  RewriteRule ^/(test[a-z]+)/$ /index.php?id=$1 [L,R=301]
  ... your current stuff afterwords ...
</IfModule>
# httpd -v
Server version: Apache/1.3.33 (Darwin)
Server built:   Mar 20 2005 15:08:27
也许没关系,但以防万一


这是你的电话号码。下面有一些例子。

编辑,我试图保持我的答案简短,我不是想让你准确地添加这一行。这只是为了显示丢失的斜杠应该放在哪里

RewriteRule ^/([a-z]+)/$ /index.php?p=
我假设您正在ApacheConfig目录中编辑一个.conf文件。Chigley的答案是假设您正在编辑每个目录的.htaccess配置文件

编辑您的conf文件,如下所示:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_METHOD} ^TRACE
  RewriteRule .* - [F]
  RewriteRule ^/(test[a-z]+)/$ /index.php?id=$1 [L,R=301]
  ... your current stuff afterwords ...
</IfModule>
# httpd -v
Server version: Apache/1.3.33 (Darwin)
Server built:   Mar 20 2005 15:08:27
如果不起作用,请编辑您的问题,将完整代码包含在 块和您的httpd版本,如下所示:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_METHOD} ^TRACE
  RewriteRule .* - [F]
  RewriteRule ^/(test[a-z]+)/$ /index.php?id=$1 [L,R=301]
  ... your current stuff afterwords ...
</IfModule>
# httpd -v
Server version: Apache/1.3.33 (Darwin)
Server built:   Mar 20 2005 15:08:27
也许没关系,但以防万一

这是你的电话号码。下面有一些例子。

试试看

RewriteRule ^([a-z]+)/?$ /index.php?p=$1 [L]
试一试


初始斜杠的作用是什么?如果我打电话hxxp://subdomain.domainame.com//keyworda/,是否会重写为p=/keyworda?第一个斜杠将与.com之后的第一个斜杠匹配。第二个斜杠将与关键字后面的斜杠匹配。第一个斜杠的作用是什么?如果我打电话hxxp://subdomain.domainame.com//keyworda/,是否会重写为p=/keyworda?第一个斜杠将与.com之后的第一个斜杠匹配。第二个斜杠将与关键字后面的斜杠匹配。两者之间的区别是什么?ungreedy修饰符与没有修饰符?@rrrfusco-在这种情况下,问号使尾部斜杠成为可选的。所以
http://subdomain.domainname.com/keyworda
http://subdomain.domainname.com/keyworda/
将被重定向。如果?修饰符指向索引的尾部和非尾部,如何为非尾部添加重定向301?您的答案仍然会生成300个错误,但显示正确的页面。两者之间的区别是什么?ungreedy修饰符与没有修饰符?@rrrfusco-在这种情况下,问号使尾部斜杠成为可选的。所以
http://subdomain.domainname.com/keyworda
http://subdomain.domainname.com/keyworda/
将被重定向。如果?修饰符指向索引的尾部和非尾部,如何为非尾部添加重定向301?您的答案仍然会生成300个错误,但显示正确的页面。错误日志具体说明了什么?文件不存在:/home/admin/public\u html/subdomain/keyword错误日志具体说明了什么?文件不存在:/home/admin/public\u html/subdomain/keyword