需要在.htaccess文件中的url mod重写条件

时间:2014-08-12 17:56:23

标签: php apache .htaccess mod-rewrite

我无法让我的.htaccess重写工作:

1。 http://www.sunfolks.com/ittraining.php上面的链接工作正常,但我想要seo friendly url.it应该是:http://www.sunfolks.com/ittraining

2。 http://www.sunfolks.com/ittraining02.php?onlinetraining=java-online-training-in-usa上面的链接工作正常,但我想要seo friendly url.it应该是:http://www.sunfolks.com/ittrainings/onlinetraining/java-online-training-in-usa

我必须为此做些什么改变?

这是我的.htaccess文件:

RewriteEngine On
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.+)$ $1.php [L,QSA]
    RewriteRule ^ittrainings/code/([0-9]+)$ ittraining02.php?code=$1 [L]
</IfModule>

1 个答案:

答案 0 :(得分:0)

您需要在下次更好地解释并提供您所做的不完整细节的工作,以及一些示例输出。

为什么不使用这样的东西,看它是否有效:

Options +FollowSymlinks
# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/
RewriteRule .* index.php?url=$0 [PT,L]

然后有一个index.php文件,可以使用$ _GET [&#39; url&#39;]来处理传入的请求。

e.g:

   $url_args = explode("/", $_GET['url']);
   $section = $url_args[0];
    $category = $url_args[1];
    $data1 = $url_args[2];

然后在代码的其余部分中适当地使用变量。