首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess模块将'pretty ur'l重写为实际不起作用

.htaccess模块将'pretty ur'l重写为实际不起作用
EN

Stack Overflow用户
提问于 2013-04-02 18:40:03
回答 2查看 59关注 0票数 0

我正在尝试让htaccess重写这个url:

代码语言:javascript
复制
http://127.0.0.1/papercut3/article/post-title/

要这样做:

代码语言:javascript
复制
http://127.0.0.1/papercut3/article.php?p=post-title/

我当前的.htaccess是:

代码语言:javascript
复制
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:

代码语言:javascript
复制
http://127.0.0.1/papercut3/article/execution-call-for-cinema-killer/

我的问题是,当我点击链接时,我会得到这样的结果:

代码语言:javascript
复制
Not Found

The requested URL /papercut3/article/syria-suffers-deadliest-month/ was not found on this server.

我使用的是WAMP,.htaccess位于包含所有核心文件的/papercut3目录的根目录中。任何帮助都将不胜感激!:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-02 18:48:44

如果您可以使用.htaccess文件,您希望它看起来像这样:

代码语言:javascript
复制
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文件来做检查/错误处理。

票数 1
EN

Stack Overflow用户

发布于 2013-04-02 18:42:17

您可以在apache的日志文件中找到帮助,但我认为这与AllowOverride指令有关,该指令必须设置为None。

正如文档中所说,您需要AllowOverride至少包含FileInfo

编辑:顺便说一下,您的规则将不会与您的任何\d匹配,因为您需要一个input,但没有提供任何in输入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15762013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档