我正在尝试让htaccess重写这个url:
http://127.0.0.1/papercut3/article/post-title/要这样做:
http://127.0.0.1/papercut3/article.php?p=post-title/我当前的.htaccess是:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^article/(\d+)*$ ./article.php?p=$1
RewriteRule ^section/(\d+)*$ ./section.php?s=$1 和我在代码中编写的urls:
http://127.0.0.1/papercut3/article/execution-call-for-cinema-killer/我的问题是,当我点击链接时,我会得到这样的结果:
Not Found
The requested URL /papercut3/article/syria-suffers-deadliest-month/ was not found on this server.我使用的是WAMP,.htaccess位于包含所有核心文件的/papercut3目录的根目录中。任何帮助都将不胜感激!:)
发布于 2013-04-02 18:48:44
如果您可以使用.htaccess文件,您希望它看起来像这样:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^article/(.+)$ ./article.php?p=$1
RewriteRule ^section/(.+)$ ./section.php?s=$1 或者,您可以更具体地说明允许的内容,但问题中的那个只允许字符[0-9],这样它就会打开它,让各自的PHP文件来做检查/错误处理。
发布于 2013-04-02 18:42:17
您可以在apache的日志文件中找到帮助,但我认为这与AllowOverride指令有关,该指令必须设置为None。
正如文档中所说,您需要AllowOverride至少包含FileInfo。
编辑:顺便说一下,您的规则将不会与您的任何\d匹配,因为您需要一个input,但没有提供任何in输入。
https://stackoverflow.com/questions/15762013
复制相似问题