PDA

View Full Version : سوال: مشکل با htaccess



para2x2
جمعه 11 بهمن 1387, 11:17 صبح
سلام به همه دوستان
اگه میشه یکم به سوال من توجه کنید ، من تو چند تا تالار تا حالا مشکلمو گفتم ، ولی هیچ کودوم متاسفانه ، دل به دل مون ندادن
من روی لوکال این ادرس رو دارم :

http://127.0.0.1/para2xblog/portal/index.php?Blog=para2x


با این کد هیت اکسس :


Options +FollowSymlinks
RewriteEngine On
RewriteRule ^para2xblog/Blog/([^/]*)$ /para2xblog/portal/?Blog=$1 [L]
RewriteRule ^para2xblog/Blog/([^/]*)/([^/]*)$ /para2xblog/portal/index.php?Blog=$1&adate=$2 [L]
RewriteRule ^para2xblog/Blog/([^/]*)/idcat/([^/]*)$ /para2xblog/portal/index.php?Blog=$1&idcat=$2[L

الان می تونم با این ادرس به همون صفحه ای که بالا گفتم برسم :


http://127.0.0.1/para2xblog/Blog/para2x/


ولی حالا مشکلم اینه که لینک های داخل صفحه ، هیچ کودوم تغییر نکردن که بشن حالات seo
چرا ؟ چجوری می تونم این مشکل و حل کنم ؟
مثلا باید تویه اون پرتال باید بتونم category یه چیزی رو را عوض کنم ، ولی لینک های این قسمت تغییر نکرده ، نمی دونم چرا

sepehrmm
جمعه 11 بهمن 1387, 13:45 عصر
ولی حالا مشکلم اینه که لینک های داخل صفحه ، هیچ کودوم تغییر نکردن تغییر نکرده
:متعجب:
:متعجب:
تا جایی که میدونم کار (mod_rewrite=)RewriteEngine
Redirect کردن URL هست نه تبدیل کردن لینک های داخل صفحه .


چجوری می تونم این مشکل و حل کنم ؟

باید تو php با regex مثل همین که پیاده کردی رو بنویسی که لینکهای داخل صفحه هم تبدیل بشن که اگه داری از CMS استفاده میکنی باید یکم دقت کنی که خراب کاری نشه .

para2x2
جمعه 11 بهمن 1387, 17:16 عصر
؟؟؟؟؟
نه نرم افزار رو خدم نوشتم ، یه بلاگ هست (www.para2x.ir/para2x)
شما گفتید خودم باید ، با عبارات با قاعده ، این کارو انجام بدم ؟؟؟ !!!
آیا نظر بقیه دوستان هم همین هست ؟

sepehrmm
جمعه 11 بهمن 1387, 21:18 عصر
؟؟؟؟؟
نه نرم افزار رو خدم نوشتم ،
اگه خودت نوشتی که دردسر نداره کافیه کد لینک هات رو به روش جدید بازنویسی کنی
اون عبارات با قاعده رو گفتم که اگه داری از CMS استفاده میکنی به کار ببری چون کد CMS کم نیست که بخوای بازنویسیش کنی و صد البته زحمت فراوان داره و تقریبا غیر قابل انجامه ولی میشد با عبارات باقاعده یکارائیش کرد ولی حالا که دیگه کافیه کدتو دستی اصلاح کنی .

para2x2
شنبه 12 بهمن 1387, 08:54 صبح
کسی می تونه یه نمونه از این عبارات با قاعده استفاهده شده برا تغییر لینک نشونم بده ، ببینیم اصلا چجوریه !!

mehdi_am
شنبه 12 بهمن 1387, 11:11 صبح
با سلام

برای جلوگیری از سوء استفاده از لینک های مستقیم سایتمون، فایل .htaccess رو در پوشه ای که فایل ها قرار داره آپلود کردم و کاملاً جواب داد و در صورتی که در سایت های دیگه روی این لینک ها کلیک میشد، ریدایرکت میشد به سایت ما. فقظ یک مشکل وجود داره و اون هم اینه که متاسفانه با مرورگر اینترنت اکسپلورر حتی از خود سایت هم نمیشه دانلود کرد.

این هم کدی که داخل .htaccess قرار دادم:



RewriteEngine on
####Charset
AddDefaultCharset Off

####Gzip
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)(js|css)$ redir.php?file=$1$2&type=$2 [L]
</IfModule>

####ETags
FileETag None

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

####Expires
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType text/css A2592000
ExpiresByType application/x-javascript A2592000
</IfModule>

<Files 403.shtml>
order allow,deny
allow from all
</Files>

deny from 79.127.11.198

deny from 91.98.10.0/23
deny from 91.98.12.0/32
deny from 91.98.12.0/24
deny from 91.98.9.211
deny from 91.98.9.0/24

RewriteCond %{HTTP_REFERER} !^http://example.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example1.ir/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example1.ir$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example.net$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example2.ir/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example2.ir$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example1.ir/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example1.ir$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.net$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example2.ir/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example2.ir$ [NC]
RewriteRule .*\.(.*)$ http://example1.ir [R,NC]


البته ما چهار دامین داریم ( یک .com ، دو تا .ir و یک .net ) که من اونها رو با example نشان دادم. لطفاً اگر می دونید چکار باید کرد تا این محافظت از لینک باعث اختلال در دانلود به وسیله ie از خود سایت نشه، راهنمایی بفرمائید.

با تشکر.