【问题标题】:url not rewriting i am using below code and mod_rewrite is also onurl 不重写我正在使用下面的代码并且 mod_rewrite 也在
【发布时间】:2015-08-01 05:24:07
【问题描述】:

我的网址是这样的:

http://www.example.com/mock_profile.php?user_name=Yasin

但我想要一个 seo 友好的网址,例如:

http://www.example.com/Yasin

我在我的 httaccess 中使用下面的 url RewriteRule 但它不起作用

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ mock_profile.php?user_name=Yasin  
RewriteRule ^([a-zA-Z0-9_-]+)/$ mock_profile.php?user_name=Yasin



## Below is my all httacess code ##
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php [nc]

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

#RewriteRule ^(.*).html$ $1.php [QSA]
RewriteCond %{THE_REQUEST} \ /(.+)\.php
RewriteRule ^ /%1.html [NC,L,R=301]


Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_-]+)/?$ mock_profile.php?user_name=$1

【问题讨论】:

  • 我没有得到任何正确答案。

标签: .htaccess url url-routing


【解决方案1】:

试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_-]+)/?$ mock_profile.php?user_name=$1 [L]

说明:

如果请求是针对现有目录的,则以下条件告诉服务器停止重写。

RewriteCond %{REQUEST_FILENAME} !-d

如果请求是针对有效文件的,这会告诉服务器停止重写:

RewriteCond %{REQUEST_FILENAME} !-f

如果请求不是文件/dir,则重写它:

RewriteRule ^([a-zA-Z0-9_-]+)/?$ mock_profile.php?user_name=$1

【讨论】:

  • 亲爱的 Starkeen,我使用了您的代码,但仍然无法正常工作,请帮帮我。我在这里粘贴我所有的 httaccess 代码..
  • 你能把它贴在你的问题中吗?
  • 我做了所有事情,但我仍然没有得到解决方案,你在上面的问题中出售所有 httacces 代码
  • 我看到了你的 htaccess 文件,但是你为什么要重定向 .html 到 .php 和 .php 到 .html?
  • 我只是 .php 重定向到 .html
猜你喜欢
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
  • 1970-01-01
  • 2010-11-08
  • 1970-01-01
  • 2011-11-10
相关资源
最近更新 更多